﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OleDb;

namespace LectorExpediciones
{
    public class Pallet
    {
        private long id = -1;
        private string codigoBarras;
        private string codigo;
        private string codigoZona;
        private DateTime fecha;
        private double tara;
        private double pesoBruto;
        private double pesoNeto;
        private bool expedido;

        public void setCodigoZona(string v)
        {
            codigoZona = v;
        }

        public void setFecha(DateTime d)
        {
            fecha = d;
        }

        public void setTara(double t)
        {
            tara = t;
        }

        public void setPesoBruto(double p)
        {
            pesoBruto = p;
        }

        public void setPesoNeto(double p)
        {
            pesoNeto = p;
        }

        public void setExpedido(bool e)
        {
            expedido = e;
        }

        public string getCodigoZona()
        {
            return codigoZona;
        }
        public DateTime getFecha()
        {
            return fecha;
        }
        public double getTara()
        {
            return tara;
        }
        public double getPesoBruto()
        {
            return pesoBruto;
        }
        public double getPesoNeto()
        {
            return pesoNeto;
        }
        public bool estaExpedido()
        {
            return expedido;
        }

        public void setCodigo(string codigo)
        {
            this.codigo = codigo;
        }

        public string getCodigo()
        {
            return codigo;
        }

        public long getId()
        {
            return id;
        }

        public void setId(long i)
        {
            this.id = i;
        }

        public override string ToString()
        {
            return codigo;
        }

        public void setCodigoBarras(string c)
        {
            codigoBarras = c;
        }

        public string getCodigoBarras()
        {
            return codigoBarras;
        }

        public void guardar(long p)
        {
            OleDbConnection conexion = GestorConexion.getInstancia().getConexion();
            string sql = "insert into DetallesExpedicion (dexNumeroExpedicion, dexNumeroLote) values (" + p.ToString() + ", " + getId().ToString() + ") ";
            OleDbCommand cmd = new OleDbCommand(sql, conexion);

            try
            {
                conexion.Open();
                cmd.ExecuteNonQuery();
                GestorConexion.getInstancia().marcarLoteComoExpedido(id);
            }
            catch (Exception e)
            {
                string mensaje = e.Message;
            }
            finally
            {
                conexion.Close();
            }
        }
    }
}
